約 4,283,734 件
https://w.atwiki.jp/abwiki/pages/453.html
メインウインドウにはったスタティックテキスト(ラベル)の文字を変える。 ボタンが押されたときに文字列を変えるなどの応用が可 Sub MainWnd_CommandButton1_Click()Dim hlabel1 As HWNDhlabel1=GetDlgItem(hMainWnd,Static1)SetWindowText(hlabel1,"hello")End Sub 以下のプロシージャを使っても同等。 Sub LabelText(hlbl As HWND,str As String)SetWindowText(hlbl,str)End Sub SetDlgItemTextを使ってもいいかもね。 Sub MainWnd_CommandButton1_Click()SetDlgItemText(hMainWnd,Static1,"hello")End Sub 一番安全な方法はこれ Sub MainWnd_CommandButton1_Click()SendMessage(GetDlgItem(hMainWnd, Static1), WM_SETTEXT, -1, "hello")End Sub スタティックをはじめとするコントロールは全てウインドウであり。 ボタンとかエディットボックスとかも同じ方法で文字を変更することができるのよ。
https://w.atwiki.jp/abwiki/pages/383.html
/***********************************************************cfint.c -- 連分数補間***********************************************************/Const N = 5 /* 点の数 */Dim x[N], y[N] /* N 個の点の x 座標, y 座標 */Sub maketable() /* 係数を求め y[] に上書き */Dim i As Long, j As Longj = 0While j N - 1i=j+1While i Ny[i] = (x[i] - x[j]) / (y[i] - y[j])i=i+1Wendj=j+1WendEnd SubFunction interpolate(t As Double) As Double /* 補間 */Dim i As LongDim r As Doubler = y[N - 1]i = N - 2While i = 0r = (t - x[i]) / r + y[i]i=i-1Wendinterpolate = rEnd FunctionConst PI = 3.14159265358979323846264#N88BASICSub main()Dim i As LongDim s As DoubleFor i = 0 To N-1/* 表を作る */x[i] = 20 * iy[i] = Tan(x[i] * PI / 180)Nextmaketable()i=0While i = 80/* 補間 */s = interpolate(i)Print i, s, s - Tan(i * PI / 180)i=i+1WendEnd Submain()
https://w.atwiki.jp/abwiki/pages/390.html
/***********************************************************p_chi2.c -- カイ2乗分布***********************************************************/Const PI = 3.14159265358979323846264Function p_nor(z As Double) As Double /* 正規分布の下側累積確率 */Dim i As LongDim z2, prev, p, tz2 = z * zp = z * Exp(-0.5 * z2) / Sqr(2 * PI) t = pi = 3While i 200prev = p t = t * (z2 / i) p = p + tIf (p = prev) Thenp_nor = 0.5 + pExit FunctionEnd Ifi = i + 2WendIf (z 0) Then p_nor=1 Else p_nor=0End FunctionFunction q_nor(z As Double) As Double /* 正規分布の上側累積確率 */q_nor = 1 - p_nor(z)End FunctionFunction q_chi2(df As Long, chi2 As Double) As Double /* 上側累積確率 */Dim k As LongDim s, t, chiif (df And 1) Then /* 自由度が奇数 */chi = Sqr(chi2)if (df = 1) Thenq_chi2 = 2 * q_nor(chi)Exit FunctionEnd Ift = chi * Exp(-0.5 * chi2) / Sqr(2 * PI) s = tk = 3While k dft = t * (chi2 / k) s = s + tk = k + 2Wendq_chi2 = 2 * (q_nor(chi) + s)Else /* 自由度が偶数 */t = Exp(-0.5 * chi2) s = tk = 2While k dft= t * (chi2 / k) s = s + tk=k+2Wendq_chi2= sEnd IfEnd FunctionFunction p_chi2(df As Long, chi2 As Double) As Double /* 下側累積確率 */p_chi2 = 1 - q_chi2(df, chi2)End Function#N88BASICSub main()Dim i As LongDim chi2Print "***** p_chi2(df, chi2) *****"Print "chi2 df=1 df=2 df=5 df=20"For i=0 To 19chi2 = 0.5 * iPrint chi2, p_chi2(1, chi2), p_chi2(2, chi2), _ p_chi2(5, chi2), p_chi2(20, chi2)NextEnd Submain()
https://w.atwiki.jp/abwiki/pages/352.html
前回は簡単なクラスをつくってみますた。ファイルを読み込むだけのABFILEクラスです。 でもおこんなものなーんの役にもたちゃしねえわけです。 さて今回お話するのはコンストラクタとデストラクタです。 コンストラクタを笑うものはデストラクタに泣くという格言があるくらい重要なパートです。 こいつを理解するとオブジェクト指向なんて小難しいことは知らなくて構いません。 そもそもABでオブジェクト指向しようなんてのが土台無理な話なのです。 ABは大規模いや中規模開発すら大変なクソ言語です。 正直ファイルの分割なんてあって無いようなものだしスコープに対する静的オブジェクトも作れないし。 他の言語でつくられたモジュールとの連携も多大な制約を受け、 もしオブジェクト指向を勉強したいなら他の言語でやってくれ。と声を大にして言いたい。 ABなんぞホビーで使う言語であり、それに特化しているのだから。 コンストラクタ(構築子、コントラ)はオブジェクトのインスタンスが生成されたときに呼ばれる関数です。 デストラクタ(消滅子、消去子、デコトラ)は、オブジェクトが破棄されるときに呼ばれる関数です。 ここで?マークだらけになった人は見込みがあります。 もしすんなり理解できた人はABプログラマとしての素質はありません。すぐJAVAに移行してください。 クラスはあくまで型です。オブジェクトはその型の物(対象)です。インスタンスと言うのは実体です。 Dim f As ABFILE オブジェクトfはABFILEという型ですよ。また実体を持っていますよ Dim p As *ABFILE オブジェクトpはABFILEという型を指しますよ。でも実体は用意されていません。 p = New ABFILE pはABFILE型の実体を指しますよ。 DLLを作ったことのある人はDllMainという関数を知っているでしょう。 そのなかにDLL_PROCESS_ATTACHという条件があります。まさにこれこそがコンストラクタです。 デストラクタはその逆でDLL_PROCESS_DETACHされたときのことです。 Class ABFILEPrivatehF As HANDLEPublic'コンストラクタ!Sub ABFILE()'何もしない、することがないEnd Sub'デストラクタSub ~ABFILE()mClose()'閉じ忘れ対策End SubFunction mOpen(filename As String) As LongIf hF Then mClose()hF = CreateFile(StrPtr(filename), GENERIC_READ, 0, ByVal 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)If hF = INVALID_HANDLE_VALUE Then hF = NULLEnd IfmOpen = hFEnd FunctionFunction mRead(buffer As VoidPtr, length As DWord) As DWordIf hF = NULL Then Exit FunctionReadFile(hF, buffer, length, VarPtr(mRead), ByVal 0)SetByte(buffer As *Byte + mRead, 0)End FunctionFunction mClose() As LongIf hF Then CloseHandle(hF)hF = NULLPrint "ファイル閉じたよ"End FunctionEnd Class#N88BASICDim f As ABFILEDim buf[555] As Bytef.mOpen("555.abp")While f.mRead(buf, 555)Print MakeStr(buf);Wend 前回のプログにコンストラクタとデストラクタを書いてみました。 コンストラクタは何もしません。もし書かなくてもこのように何もしないコンストラクタは暗黙的に定義されます。 デストラクタも何もしないものが暗黙的に宣言されます。 またコンストラクタやデストラクタは返り血が無いのでエラーに成っても適切に処理できるように工夫しなければいけません。
https://w.atwiki.jp/japanesehiphop/pages/4766.html
Format Title Artist Label Model Number Release Press 12 LOVEBUM BASI BASIC MUSIC,JET SET BASI-1015 2018/12/12 - Side Track Title Produce A 1 RELAX WATT a.k.a. ヨッテルブッテル 2 COOL LIKE THAT WATT a.k.a. ヨッテルブッテル 3 たゆたう(ALBUM MIX) 906 4 THE LOVE chop the onion 5 WINTER feat.AFRA AFRA 6 SING ALONG AGAIN feat.ISSEI 東里起 7 FALLIN (ALBUM MIX) WATT a.k.a. ヨッテルブッテル B 8 BLUE ISSEI 9 スイッチ 906 10 GOD PANORAMA FAMILY 11 B-BOY LOGIC ISSEI 12 花束 TAKU 13 みたせど WATT a.k.a. ヨッテルブッテル 14 NICE WATT a.k.a. ヨッテルブッテル 15 FIN WATT a.k.a. ヨッテルブッテル PERTAIN RECORD AMAZON LOVEBUM [Analog] PERTAIN CD AMAZON LOVEBUM
https://w.atwiki.jp/visualbasic/pages/17.html
Visual Basic入門 Visual Basic 2008 Express Edition のダウンロード場所
https://w.atwiki.jp/tpc-document/pages/270.html
第11章「Maquina(機械都市マキナ)」 大樹大陸の北東に突き出た半島、そこに位置するは機械都市マキナ。 都市であり、工場であり、そして国でもある。ひとつの都市によってのみ構成される国だ。 北東の半島は大部分が荒野であり、岩やサボテンがある以外には何もないため、マキナの都市の大きさはずいぶん目立つ。 エネルギーを使い果たして動かなくなったメイヴを押して荒野を進んでいたガイストとゲンダー、そして後に続くグメーシスの前方には、ずっとその大きな影が見えていた。それは当然ながら近づくにつれてさらに大きさを増していき、間近まで来るとそれがどんなに巨大な建造物であるのかがよくわかる。 大樹ほどではないが、目の前まで来ると見上げても頂上が見えないほどの大きさ。金属の壁に覆われ、塔のような建物がいくつも伸びて、あちこちに動脈のようにパイプが張り巡らされているそれは、都市というよりはまるで要塞のようである。 「これが機械都市マキナ!? なんというか、すげえな」 機械都市の門を前にして、ゲンダーは驚嘆の声を上げた。 「でもちょっと思ってたのと違うな。機械の国っていうから、車が空を飛び交ったり、ホログラムモニタがそこらじゅうに浮かんでて、もっと賑やかなところダと想像してた。ダけど、これじゃあまるで……」 門をくぐると、そこは寂れたスラム街のような様相。 トタンの壁はそこらで錆びたり穴が空いたりしており、張り巡らされたパイプからはあちこちで水やオイル、ガスなどが漏れている。足元には油で濁った水溜りがいくつもあって悪臭を放っている。 「まるで廃墟みたい、か?」 自嘲気味にガイストが言った。 「いや、そこまでは言ってないが……ガイストはここに詳しいのか?」 「学生時代はマキナで学んだ。そのときの恩師がスヴェン先生だったんだ」 「なるほど、それで『先生』か」 「僕の専門は精神体だけど、先生からは機械について教わった。といっても、成績はぼちぼちだったけどな。まあ、そんなわけでマキナは僕にとっても思い出のある場所なんだ。昔はこうじゃなかったのに…」 「一体何があったんダ?」 「戦争さ」 数年前のことだ。 その当時まではヴェルスタンドとフィーティン王国の二国が戦争をしていた。 ヴェルスタンドはマキナを力でねじ伏せて併合しようとし、フィーティンはマキナの援助を受ける代わりに同国を護って応戦した。 どちらも戦力はほぼ互角で、押しては押し戻されの煮え切らない戦況が続いていた。 しかしあるときを境にフィーティンは次第に押され始める。 ヴェルスタンドは新たに精神体を用いた兵器を投入したのだ。 精神体兵器は圧倒的な強さを見せ、フィーティン軍は撤退を余儀なくされた。 その隙を突いて、ヴェルスタンド軍はいよいよマキナに侵攻。 マキナは優れた機械技術や兵器はあるが、それを使いこなせる兵士には乏しい。 ただただ防戦一方で、マキナは見る見るうちに国力を削がれていくことになった。 「辛うじてまだ攻め落とされてはいないが、もはや満身創痍。落ちる寸前だ」 「なんてこった。そういやさっきも言ってたけど、その精神体ってのは何ダ。そんなにヤバいものなのか」 「簡単に言えば、ヴェルスタンドで新たに開発された精神力を由来とするエネルギーで、形がなく目に見えない精神というものを扱いやすく、そして管理しやすいように固定化したものだ。また意志の力に反応してエネルギーを高める性質がある」 「それってつまり、強いと思い込めば思い込むほど強くなるエネルギーって感じか? そりゃたしかにヤバいな。そのせいでマキナもフィーティンも困ってるってわけか。まったく一体誰がそんなぶっそうなものを発明したんダか」 ガイストは表情を曇らせながら、申し訳なさそうに言った。 「……僕さ」 精神体の第一人者、ガイスト・ズロィドゥーフ。 ヴェルスタンドはかねてよりエネルギー問題にずっと頭を悩ませていた。 問題の解決のために様々な研究が行われたが、マキナでの留学を終えて一人前の研究者となったガイストもまた、エネルギー問題の解決のために研究を行った。 そして試行錯誤の末に生み出されたのが『精神体』である。 意志の力に反応してより強力になっていくこのエネルギーは、少ない量でも大きな力を得ることができる画期的で歴史的な大発見だった。この功績により、ガイストは稀代の天才としてヴェルスタンドにおいては一目置かれる存在となる。 そこに目をつけたのがヴェルスタンド大統領アドルフ・ルートヴィッヒだった。 ヘイヴの失踪により黒石の兵器転用の機会を失った大統領は、彼の追跡を続ける一方で精神体を新兵器として取り入れたのだ。 国の発展のためだと言われて精神体技術を提供したガイストだったが、まさかマキナを滅ぼすための兵器に使われるとまでは知らされておらず、結果として自分の発明した技術が、恩師の住む国を壊滅的な状況にまで追い込んでしまったことにひどく心を痛めていた。 「青春時代のほとんどはマキナで過ごした。だからここは僕にとって第二の故郷のようなものだ。それをよりによって自分が発明した精神体のせいで滅茶苦茶にしてしまうなんて……こんなのあんまりだ!」 「つらいな、それは…」 「だが事実だ。命令を下したのは大統領かもしれないが、マキナを苦しめたのは精神体だ。これは僕の責任だ」 「ガイスト……えっとその、オレなんて言ったらいいか…」 「君が気にすることじゃない。これは大樹大陸の、僕らの問題だ。それより今はメイヴをなんとかしよう。この先に先生の研究所がある。僕の腕前じゃ直してやれないが、先生なら助けてくれるはずだ」 ゲンダーたちはマキナの起伏のある道を進んでいく。 地面はところどころひび割れているし、くず鉄やガラクタがいくつも散らばっている。 廃車になった壊れた車の屋根に鉄板を敷いて橋にして、誰か住んでいるのかもわからないようなぼろぼろの建物の平らな屋根の上へと道は続き、さらにその先はガス管か何かのパイプが束になった足場を橋代わりにさらに隣の屋根へと進む。屋根の上には、あとから建てられたのであろう、しかし下とはまったく別の建物が不安定に存在している光景が行く先々に見える。 「これ本当に正しいルートを通ってるのか?」 「昔は違ったさ。でも今はこれがマキナの『道』だ。下層部分はスラム街になっている。古い建物の上に無理やり建てられた中層部分が市民街といったところかな。それから奥のほうに傾いたタワーが見えるだろう。あそこが上層部分、マキナの政府とも言える場所だ。この国の代表であり工場長でもある男があそこにいる」 「なるほど。それにしてもつぎはぎダらけの国ダな。地震でも来たらすぐに崩壊してしまいそうダ」 「その通りだ。あれを見てみろ」 ガイストが左手側を指差す。 ずいぶんと高い場所まで登ってきたので、マキナを囲う外壁の上から門の外の景色が見える。 海が見えた。いや、向こう側にヴェルスタンドの土地が見えるので湾か。 大樹大陸の北側は地図上で見ると、左から右上に向かって海岸線が延びていて、その一部がV字に欠けて湾になっている。その湾を挟んで飛び出た北東部分がここマキナのある半島だ。 「あの湾だけど、昔はあそこは海じゃなかった。そしてマキナは昔は半島じゃなかった」 「…………え? どういう意味なんダ」 「言葉通りの意味さ。あの湾は人の手によって作られたものなんだ。それもすごく最近ね」 ゲンダーは目を凝らしてガイストのいう人工湾を見つめてみた。すると、海中になにか角ばったものが沈んでいるのがわかった。それはこのマキナにある景色とよく似ているような気がした。 「さすが機械だけあって遠くてもよく見えるみたいだな。空から今のこのマキナの外壁の形を眺めると半円型をしているんだ。そして円を真っ二つに割る縦線の壁すぐ隣はもう海だ。もう察しがついてるみたいだが…」 「おい、まさか」 「……沈んだんだ。マキナの街は、半分ね」 ゲンダーは言葉がでなかった。 いくら戦争だからといって、相手国の土地を半分も海に沈めてしまうようなことがあるだろうか。 そもそも大陸の一部が海に沈んでしまうなんて、一体何をどうすればそんなことになるというのか。 「わかっただろう。精神体のエネルギーの強大さが。精神兵器の恐ろしさが」 ガイストはかつて街の半分だった海を遠い目で眺めた。 「僕が学んだ場所はあそこにあったんだ。今は海の底だがな。沈めてしまったんだ。僕のせいで…」 「どんな化け物なんダよ。そんなやつに勝ち目はあるのか」 「最大級の兵器だ。通称『鯰』、地震を起こす兵器らしい」 「ナマズ……名前ダけ聞くと弱っちそうなのに、なんとも恐ろしいやつダ」 「全部僕のせいだ。精神体なんてものを発見してしまったばっかりに……」 重苦しい空気のまま、さらにつぎはぎだらけの道を進んだ。 こんどは下り、再び下層部まで降りてきた。 先程ガイストが言っていた垂直の外壁のちょうど内側にあたる位置だ。 街の半分が海の藻屑になった後にこの外壁は新たに作り直されたのだが、その一部は開いていて海に面している。さながら小さな港のような雰囲気で、桟橋もあるし、なにやら翼のついた船のようなおかしな機械も泊まっている。 桟橋の近くには古びた建物があったが、ここは同じ下層部でもスラム街とは少し離れた位置にあって、その建物だけがぽつんとひとつ建っていてよく目立った。 「着いたぞ。ここが先生の研究所だ」 「やれやれダ。登ったり降りたり、メイヴを押しながらは大変ダったぞ。まずは一息つかせてくれ」 ゲンダーは建物へと駆け寄って、その扉を開けようとする。が、ガイストがそれを制止した。 「ああ、違う違う。そっちじゃない」 建物の裏手のほうへ向かうと、うまく陰に隠れるようにして地下への階段があった。その先には金属製の重厚な扉がある。 曰く先生は変わった人で、研究を他人に盗まれるのが心配でこんな地下に隠れるような場所に研究所を作ってしまったのだという。入口も厳重にロックされていて、彼が認めた人物しか中には入れてもらえなかったそうだ。 「しかし、どうやら秘密の入口もバレバレのようダ。誰かいるぞ」 階段を降りた先では、何者かが扉の前で壁についた機械を弄っているのが見えた。 後ろ姿で顔が見えないので、杖をついた白髪の老人のようだということぐらいしかわからない。 「いや、あの人は……」 心当たりがあったガイストは階段を駆け下りると、背中を見せている老人に声をかけた。 「先生! スヴェン先生! ご無沙汰しております」 老人は突然声をかけられて、警戒した様子で振り返ったが、声の主の正体を知ってすぐに安心した顔になった。 「おお、君はガイスト君じゃないか。久しぶりだな。こんなご時勢によくこっちへ渡ってこれたな」 「ご無事で何よりです。大変なことになってしまいましたね。実は…」 「うむ。積もる話もあるだろうが、それは後だ。今はこの扉をなんとかせんとな」 聞くと、どうやらつい先日もヴェルスタンドからの襲撃があって、そのときに『鯰』が起こした振動が原因でセキュリティ装置が故障してしまったのだそうだ。パスワードを入力するだけのシンプルな鍵だったが、故障したせいでパスワードがランダムなものに置き換わってしまい、スヴェン本人にも解錠できなくなってしまったのだという。 「なんとか解析しようとしてたんだが、予想以上に苦戦しててなぁ」 「パスワードか。メイヴが元気なら、簡単に解析してくれたんダろうけどな」 スヴェンの横に立って壁の装置を眺めるゲンダーを見て老人は言った。 「なんだね、この機械は? ガイスト君が作ったのか。おかしなデザインだな」 「まあ、その……あとでお話します。ゲンダー、なんとかできないか」 「やるダけやってみるけどずっと不調ダから自信はないなぁ。おい、じいさん。ちょっと下がっててくれ」 スヴェンを下がらせると、ゲンダーは一歩足を引いて右腕を扉へ向けて固定。狙いを定めて扉に汁千本を放った。 無数の一撃は扉にいくつもの筋を残したが、重厚な扉を吹き飛ばすには至らなかった。 「くそォ、使えねえなぁコレ。ちょっと改良が必要ダな。それじゃあ、奥の手ダ。グメー! よろしく頼む」 「グメっ!」 グメーシスが飛び出してきて「やっと出番か」と言わんばかりに一声鳴くと、重厚な扉を一瞬にして消し去ってしまった。 「すみません、先生。扉を壊してしまいましたが、非常事態ということでどうか大目に見てやってください」 「それは構わんが……こんどは何だ!? 見たこともない生き物だ。扉はどこへ消えたんだ? いつの間にか君は生物学者にでも鞍替えしていたのかね。いやはや、まったく不思議な生き物がいたもんだ」 「ああ、危ないですからどうかグメーシスには触れないで。それも後ほどお話しますから…」 驚きながら中に入っていくスヴェンに続いて、ガイストたちも研究所へ入る。 内部は『鯰』起こした地震によって物が散乱していたが、この地下室は造りがしっかりしているようで、それ以外には目立って大きな被害は見受けられず、施設の機能としては問題なく使えそうだった。 「この様子ならなんとかなりそうだな。それでは先生、実はお話したいことがたくさんありまして…」 ガイストはこれまでのことをスヴェンに説明した。 自分がヴェルスタンドへ戻ったあと、研究の末に精神体を発見したこと。 それが原因で『鯰』のような精神兵器が誕生してしまったこと。 精神体の使い方で大統領に反発して居場所を失ったこと。 その過程でゲンダーとメイヴに遭遇したこと。 そしてそれはヘイヴが発明したということ。 すべてを言い終えるまで、スヴェンは口を挟まずに黙って聞いていた。 「……というわけで、先生を頼ってここまでやってきたというわけです」 「なるほど。驚くことが多すぎて、何から考えればいいか悩むところだが……」 どうしようかと視線を迷わせているとゲンダーと目が合い、まずはそのことから話すことにスヴェンは決めた。 「ゲンダー君、といったかね」 「何ダ?」 「ヘイヴが君を作ったというのは本当か」 「ああ、間違いない。オレはヘイヴの頼みでスヴェンに会いに来たんダ。ガイストと会ったのは偶然ダ」 「ではヘイヴは今も無事なのか」 「無事と言えるかはわからないけど、死んではいない。でもちょっと……事情があって今は会えない」 「そうか…。いや、しかしずっと行方知れずだったんだ。ヴェルスタンドの大統領に追われてるようだったから、何かあったのではと心配していたんだが、そういうことなら良かった。会えないのは残念だがね。それでゲンダー君、ヘイヴの頼みで来たと言ってたが彼は何を……」 スヴェンが言いかけたそのとき、轟音とともに地下室を大きな揺れが襲った。 立っていられないほどの揺れに全員が思わず屈み込んだ。照明が明滅し、すでに床に散らばっていた物が音をたてて転がる。建物全体がミシミシとうなり、生き埋めにされるのではとも心配したが、やがて揺れはおさまりスヴェンたちはようやく息を落ち着かせることができた。 「けっこう大きかったぞ。グメー、おまえはいいな。宙に浮いてるから平気ダもんな」 「グメメぇ」 「不規則な揺れだった。地震にしては不自然だったような。先生、もしかしてこれが?」 「そうだ。『鯰』の仕業だよ。やつらめ、わしらがもうボロボロだと知ってて、わざとトドメを刺さずに置いているんだ。国のお偉方に圧力をかけているのさ。さっさと降伏して併合を認めろとな。こうやって不定期に地震を起こしては、文字通り揺さぶりをかけているというわけだ」 「生かさず殺さず、じわじわと恐怖を与えてくるのか。陰険なやつらダな」 「さすがに街の半分を海に沈めてしまったのはやりすぎたと思ったんだろう。大統領の目的はマキナをヴェルスタンドの一部にして、その土地も技術も自分のものにするためだからな」 お互いの無事を確認したところで、ゲンダーはメイヴを外に置いたままだったことを思い出した。 メイヴは大丈夫かと慌てて外に飛び出そうとすると、さっきの揺れでメイヴは階段を転がり落ちて、自分からこの研究所内に入ってきていたことに気がついた。 海に落ちていなかったことでひとまず安堵して、改めてメイヴは無事だろうかと心配した。 「ドームから脱出するときに、自分のエネルギーを全部使ってしまったみたいなんダ。電気で動いてるわけじゃないから、充電すれば直るってわけでもないし……スヴェンなら何かわかるかと思って来たんダが」 「ふむ。メイヴの動力はわかるかね?」 「すまんがわからない。オレがメイヴについて知ってるのは、ブラックボックスとかいうものを封印するためにメイヴがいるっていうことぐらいダ。ヘイヴはスヴェンに会えばわかるはずダと言い遺してたんダが…」 「ブラックボックス、か。ヘイヴがそう言ったということは、わしなら使い方を知っているということか」 「先生は飛行艇が専門でしたよね。ブラックボックスということはつまり?」 一般的に航空機にはブラックボックスと呼ばれる装置が搭載されている。そこにはフライトデータレコーダーとボイスレコーダーが含まれ、事故の際にそれを回収することで原因の調査を行うためのものだ。 「メイヴは飛ぶのかね」 「プロペラで滞空したことはあるけど、飛べそうにはないな」 「メイヴはしゃべるのかね」 「遠隔モニタを通じての筆談ダ。まあ、録音機能ぐらいは普通に持ってそうダけど」 「どうやらわしらが扱ってるブラックボックスとは違うものらしい。ゲンダー君、メイヴを開けてみても構わんか。まずは見てみないことにはわからん」 「それで直る見込みがあるならお願いしたい」 メイヴの胴体前面には遠隔モニタに似た小さな液晶モニタがある。スヴェンはそのモニタのカバーを工具を使って慣れた手つきで取り外し液晶板を持ち上げると、メイヴの内部構造の一部があらわになった。 基盤やコードに覆われるようにして、ハードディスクの役割をするホログローブの一種と、もうひとつ別の黒いものと、ふたつの球体がそこにあった。ホログローブのほうがメイヴの言っていたデータベースなのだろう。ということは、この漆黒球体こそがブラックボックスだ。 スヴェンはしばらく漆黒球体を眺めてから、手を伸ばしてそれに触れようとしたところで、はっと何かに気付いた様子で伸ばしかけた手を止めた。 そしてそのまま何をするでもなく、すぐに再び液晶板を戻して蓋をしてしまった。 「そうか。ヘイヴ……そういうことか」 思い当たる節があった様子で、スヴェンは目を閉じて感傷に浸っているようだった。 「何かわかったのか?」 「おそらく昔ヘイヴが熱心に研究していたものだろう。わしも少し関わっていてな。メイヴはこれを封印するための存在だと言ったな。気がついてくれたんだな、ヘイヴ。よしわかった、その意志はわしが継ごう。そのためにメイヴが必要なんだな…」 「で、直せるのか?」 「こいつの使い方はよく知ってる。そしてその危険性もな。すまんがおまえたち、少しの間だけ外に出ていてくれないか。万が一ということもある。怪我をさせてしまってはいかんからな」 と言って自分の右脚を軽く叩いてみせる。 地下へ降りてくるときもそうだったが、スヴェンは杖をついて歩いており、どうやら右脚が不自由なようだった。彼は多くは語ろうとしなかったが、昔このブラックボックスを研究していたときに起こった事故で怪我を負ったということだけは話してくれた。 おまえたちにも同じ思いはさせたくない。そう言ってゲンダーたちを外へ追い出し一人になると、スヴェンは再び液晶板を除けて、こんどは意を決して漆黒球体に触れた。 ブラックボックス。漆黒球体。その正体こそ、もちろんヘイヴが封印しようと決意したあの黒石だ。 「そうか、ヘイヴのやつ考えたな。黒石は超エネルギー物質だ。封印すると同時にこれは動力でもあるんだな」 黒石に触れながらスヴェンは強く念じた。 少し経ってから、地下からスヴェンの声が聞こえてゲンダーたちは再び研究所内に戻った。 もう終わったのかとゲンダーは驚いたが、メイヴの言葉が返って来たので間違いないと確信した。 『おは世う御座い増す、ゲンダー。銅やら無事にマキナへ辿りつ居た酔うで素ね』 「メイヴ! よかった。まったくエネルギーを全部使っちまうなんて無茶しやがって」 『提起敵にバッ苦亜ッぷを残してい増すの出、心肺は炒りませんよ』 「しかし文字がまダおかしいな。大丈夫なのか?」 『もニタ出力と言吾回路の一ブに門題が生じているよ腕す』 メイヴが言うには、ドームの地下でエレベータから落下した衝撃で内部回路を破損したメイヴは一時的に機能を停止させ自己修復プログラムを起動、機能の回復に務めた。その後何事も起こらなければ完全に機能が回復するはずだったのだが、ドーム脱出の際に脱出用レールにエネルギーを供給したことでメイヴ自身のエネルギーが枯渇し、再び機能停止。エネルギー不足のために自己修復機能が起動できずにいた、という訳である。 スヴェンがブラックボックスを活性化させたため、再び自己修復機能が起動し、今に至るというわけだ。 トレードマークの憎たらしいスマイルや胴体部はひどく破損しているが内部機能面では何ら問題なく、言語回路も文字の変換に異常があるだけとのことだった。 『顔なンて飾りです。偉い火戸には剃れが若乱のです』 「どっかで聞いたような台詞を言ってくれてるところ悪いが、さすがにそのままじゃ不便ダ」 「その程度ならわしが直せるだろう」 『では回炉豆を票示します。この排線がこのようになっているので、ここをこうしてみてください』 自己修復機能では直せない物理的な破損部分はスヴェンが修理することを申し出た。微力ながらも、とガイストも助手について修理を手伝うことにした。とくに力になれることがないゲンダーは、グメーシスとともに待つだけだ。 メイヴの修理にはしばらくかかるだろう。時間を持て余したゲンダーはこれからのことを考えていた。 ヘイヴから託されたことはメイヴを正しく扱える者、つまりスヴェンのもとへ無事送り届けることだった。 こうしてマキナに到着した今、無事とは言いがたかったが、たしかにメイヴはスヴェンのもとへと渡った。 ということは、これでヘイヴからの頼みは完遂したことになる。 「それじゃあ、オレの役目はこれでもう終わりなのか?」 メイヴのこともそうだが、先ほどの地震も気になる。ヴェルスタンドの『鯰』という兵器の存在。精神体。ガイストとヴェルスタンド大統領の因縁。そして戦争。 本当にこれで終わりでいいのだろうか。 「全然すっきりしない。まダ何かやり残してることがあるような感じダ。何ダろう、この感じ。何かできること……何かオレにできることはないダろうか」 これまではヘイヴの指示に従って動いてきた。しかしこれからは何をなすべきか。 ゲンダーは自分のすべきことを考え始めるのだった。 第11章 了 ブラックボックス12
https://w.atwiki.jp/abwiki/pages/484.html
#N88BASICFunction Distance(p1 As *POINTAPI, p2 As *POINTAPI) As DoubleDistance = Sqr((p1- x - p2- x)^2 + (p1- y - p2- y)^2)End FunctionSub InputP(mes As String, p As *POINTAPI)If mes "" Then Print mes;Input "x,y = ";p- x, p- yEnd SubSub PrintP(p As *POINTAPI)Print "x=";p- x, "y=";p- yEnd Sub'ヘロンの公式Function heron(a As Double, b As Double, c As Double) As Doubleheron = Sqr(((a+b+c)*(a+b-c)*(b+c-a)*(c+a-b))/16)End Function'直交座標の式Function chokou(p1 As *POINTAPI, p2 As *POINTAPI, p3 As *POINTAPI) As DoubleDim pp[2] As POINTAPIpp[0].x = p2- x - p1- xpp[0].y = p2- y - p1- ypp[1].x = p3- x - p1- xpp[1].y = p3- y - p1- ychokou = Abs(pp[0].x * pp[1].y - pp[1].x * pp[0].y) / 2 End Function Dim p[3] As POINTAPIDim d[3] As DoubleInputP("点1 ", VarPtr(p[0]))InputP("点2 ", VarPtr(p[1]))InputP("点3 ", VarPtr(p[2]))d[0] = Distance(VarPtr(p[0]), VarPtr(p[1]))d[1] = Distance(VarPtr(p[1]), VarPtr(p[2]))d[2] = Distance(VarPtr(p[2]), VarPtr(p[0]))Print "面積=";heron(d[0], d[1], d[2]);chokou(VarPtr(p[0]), VarPtr(p[1]), VarPtr(p[2]))
https://w.atwiki.jp/abwiki/pages/259.html
/***********************************************************sboymoo.c -- Boyer--Moore法***********************************************************//* 簡略Boyer-Moore法 */Const UCHAR_MAX= 255Function position(text As *Byte, pattern As *Byte) As LongDim i As Long, j As Long, k As Long, len As LongDim skip[UCHAR_MAX] As LongDim c As Byte, tail As Bytelen = lstrlen(pattern) /* 文字列の長さ */If len = 0 Then *NOT_FOUND /* エラー 長さ0 */tail = pattern[len - 1] /* 最後の文字 */If len = 1 Theni = 0 /* 長さ1なら簡単! */While text[i] 0If text[i] = tail Thenposition =iExit FunctionEnd Ifi++WendElse /* 長さ2以上なら表を作って… */For i = 0 To UCHAR_MAX skip[i] = len NextFor i = 0 To len - 2skip[pattern[i]] = len - 1 - iNext/* i = len - 1; */ /* いよいよ照合 */c = text[i]While c 0 If c = tail Thenj = len - 1 k = ij-- k--while (pattern[j] = text[k])if (j = 0) Then /* 見つかった */position =kExit FunctionEnd Ifj-- k--WendEnd Ifi = i + skip[c]c = text[i]WendEnd If*NOT_FOUNDposition = -1 /* 見つからなかった */End Function#N88BASICDim i As LongDim text = "私の名前は平井公彦" As *ByteDim pattern[3] = ["私の", "名前は", "平井公彦", "阿部高和"] As *Byte Dim out[100] As ByteFor i=0 To 3wsprintf(out, Ex"position(\q%s\q, \q%s\q) = %d\n", text, pattern[i], position(text, pattern[i]))Print MakeStr(out)Next
https://w.atwiki.jp/wiki4_canjy/pages/6.html
お仕事の事で、書くことがあったら適当に書いてみるページ。 他人が見たらきっと意味不明の羅列 大見出し ActiveBasicについて 最近ActiveBasicのお世話になる事がありまして、PCアプリの開発なんてやった事ないので、色々勉強させてもらってます。 とりあえず、自分で使ったAPIのメモなんかを書いてみようかと思います。